package Day20.Consumer;

/**
 * @version 1.0
 * @BelongsProject:IntelliJ IDEA
 * @BelongsPackage:Day20.Consumer
 * @Author:hyhWTX
 * @ClassName:Demo02andThen
 * @CreateTime:2022年-09月-30日 21:31
 * @Description: TODO (一句话描述以下该类的功能)
 */

import java.util.function.Consumer;

/**
 *Consumer接口的默认方法andThen
 * 作用：需要两个Consumer接口，可以把两个Consumer接口组合到一起，在对数据进行消费
 *
 * 例如：
 *      Consumer <String> con1
 *      Consumer<String> con2
 *      String s = "Hello"
 *      con1.accept(s)
 *      con2.accept(s)
 *      连接两个Consumer接口，在进行消费
 *      con1.andThen(con2),accept(s):谁写前边谁先消费
 *
 */

public class Demo02andThen {
    //定义一个方法，方法的参数传递一个字符串和两个Consumer接口，Consumer接口的泛型使用字符串
    public  static void method(String s, Consumer<String> con1,Consumer<String> con2){
//        con1.accept(s);
//        con2.accept(s);
        con1.andThen(con2).accept(s);
    }

    public static void main(String[] args) {
        //运用method方法，传递一个字符串，两个Lambda表达式
        method("HEllLLo",
                (t)->{
            //消费方式，字符转化为大写
            System.out.println(t.toUpperCase());
        },
                (t)->{
            //消费方式，字符转化为小写
            System.out.println(t.toLowerCase());
        });
    }
}
